<?php
class KM_Contacto_Parametros extends ControladorKakoonAdmin
{
	public function __construct()
	{
		parent::__construct();

		$this->load->helper ("km_contacto/km_contacto_kakoon");
	}

	public function index ($parametro = null)
	{
		$this->gestionar();
	}

	public function gestionar ($identificador = Datos::NO_PERSISTIDO)
	{
		formulario();

		$parametros = $this->getParametrosFormulario ($identificador);
		$datos      = $this->getObjetoDatos($identificador);
		$clase      = get_class ($datos);
		$vista      = new FormularioKakoon($datos);

		foreach ($parametros->getAnulados() as $unAnulado)
		{
			$vista->anula ($unAnulado);
		}

		$vista = $this->analizaVistaFormulario ($vista);
		$vista->setTitulo ("Configuracion Modulo Contactos");

		if ($vista->datosValidos())
		{
			$clase   = $vista->getDatos();
			$modelo  = new KM_Contacto_Modelo(getAccesoBD());

			$modelo->consolidaConfiguracion($clase);

			redirect (site_url ("/". $this->getBaseUrl() ."/"));
			exit();
		}

		$modelo = array();
		$modelo["contenido"] = $vista->creaFormulario (site_url("/". $this->getBaseUrl() ."/gestionar/"));
		$modelo["js"]        = JS::incluyeJQueryTimePicker("/BemarxJS/");
		$modelo["js"]       .= JS::incluyeJQueryHTMLEditor("/BemarxJS/");
		$modelo["js"]       .= JS::incluyeValidacionJS("/BemarxJS/");

		$this->vista ($modelo);
	}

	public function getObjetoDatos ($identificador = Datos::NO_PERSISTIDO)
	{
		$modelo = new KM_Contacto_Modelo(getAccesoBD());

		return $modelo->recuperaConfiguracion();
	}

	public function getBaseUrl()
	{
		return "/administracion/km_contacto_parametros/";
	}

	public function getParametrosFormulario ($identificador = Datos::NO_PERSISTIDO)
	{
		return new ParametrosFormularioKakoon();
	}

	public function getParametrosListado()
	{
		return new ParametrosListadoKakoon();
	}
}
?>